package com.ly.system.system.bean.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;

/**
 * 通用消息-vo
 *
 * @author jeecg
 * @Date: 2019-02-21
 */
@Data
public class SysMessageVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty("id")
    @Schema(description = "id")
    private java.lang.String id;

    /**
     * 发送者id
     */
    @ExcelProperty("发送者id")
    @Schema(description = "发送者id")
    private java.lang.String sendId;
    /**
     * 通告id
     */
    private java.lang.String anntId;
    /**
     * 用户id
     */
    private java.lang.String userId;
    /**
     * 标题
     */
    @ExcelProperty("标题")
    @Schema(description = "标题")
    private java.lang.String title;
    /**
     * 内容
     */
    @ExcelProperty("内容")
    @Schema(description = "内容")
    private java.lang.String msgContent;
    /**
     * 开始时间
     */
    @ExcelProperty("开始时间")
    @Schema(description = "开始时间")
    private java.util.Date startTime;
    /**
     * 结束时间
     */
    @ExcelProperty("结束时间")
    @Schema(description = "结束时间")
    private java.util.Date endTime;
    /**
     * 发布人
     */
    @ExcelProperty("发布人")
    @Schema(description = "发布人")
    private java.lang.String sender;
    /**
     * 接收人
     */
    private java.lang.String receiver;
    /**
     * 优先级（L低，M中，H高）
     */
    @ExcelProperty("优先级（L低，M中，H高）")
    @Schema(description = "优先级（L低，M中，H高）")
    private java.lang.String priority;
    /**
     * 发布时间
     */
    @ExcelProperty("发布时间")
    @Schema(description = "发布时间")
    private java.util.Date sendTime;
    /**
     * 撤销时间
     */
    @ExcelProperty("撤销时间")
    @Schema(description = "撤销时间")
    private java.util.Date cancelTime;
    /**
     * 删除状态（0，正常，1已删除）
     */
    @ExcelProperty("删除状态（0，正常，1已删除）")
    @Schema(description = "删除状态（0，正常，1已删除）")
    private java.lang.Integer delFlag;
    /**
     * 消息类型1:通知公告2:系统消息
     */
    @ExcelProperty("消息类型1:通知公告2:系统消息")
    @Schema(description = "消息类型1:通知公告2:系统消息")
    private java.lang.String msgCategory;
    /**
     * 通告对象类型（USER:指定用户，ALL:全体用户）
     */
    @ExcelProperty("通告对象类型（USER:指定用户，ALL:全体用户）")
    @Schema(description = "通告对象类型（USER:指定用户，ALL:全体用户）")
    private java.lang.String msgType;
    /**
     * 发布状态（0未发布，1已发布，2已撤销）
     */
    @ExcelProperty("发布状态（0未发布，1已发布，2已撤销）")
    @Schema(description = "发布状态（0未发布，1已发布，2已撤销）")
    private java.lang.String sendStatus;

    /**
     * 业务类型(email:邮件 bpm:流程 tenant_invite:租户邀请)
     */
    @ExcelProperty("业务类型")
    @Schema(description = "业务类型")
    private java.lang.String busType;

    /**
     * 业务id
     */
    @ExcelProperty("业务id")
    @Schema(description = "业务id")
    private java.lang.String busId;

    /**
     * 指定用户
     */
    @ExcelProperty("指定用户")
    @Schema(description = "指定用户")
    private java.lang.String userIds;
    /**
     * 打开方式(组件：component 路由：url)
     */
    @ExcelProperty("打开方式(组件：component 路由：url)")
    @Schema(description = "打开方式(组件：component 路由：url)")
    private java.lang.String openType;
    /**
     * 组件/路由 地址
     */
    @ExcelProperty("组件/路由 地址")
    @Schema(description = "组件/路由 地址")
    private java.lang.String openPage;

    /**
     * 业务类型查询（0.非bpm业务）
     */
    private java.lang.String bizSource;

    /**
     * 摘要/扩展业务参数
     * 示例：
     * 1 摘要值：放假安排
     * 2 跳转流程的参数值：{"taskDetail":true,"procInsId":"1706547306004377602","taskId":"task630958764530507776"}
     */
    @ExcelProperty("摘要/扩展业务参数")
    @Schema(description = "摘要/扩展业务参数")
    private java.lang.String msgAbstract;

    /**
     * 发布开始日期
     */
    private java.lang.String sendTimeBegin;

    /**
     * 发布结束日期
     */
    private java.lang.String sendTimeEnd;

    /**
     * 标星状态( 1为标星 空/0没有标星)
     */
    @ExcelProperty("标星状态( 1为标星 空/0没有标星)")
    @Schema(description = "标星状态( 1为标星 空/0没有标星)")
    private java.lang.String starFlag;
    /**
     * 阅读状态（0未读，1已读）
     */
    @ExcelProperty("阅读状态（0未读，1已读）")
    @Schema(description = "阅读状态（0未读，1已读）")
    private java.lang.Integer readFlag;


    /**
     * 创建人
     */
    @ExcelProperty("创建人")
    @Schema(description = "创建人")
    private java.lang.String createBy;
    /**
     * 创建时间
     */
    @ExcelProperty("创建时间")
    @Schema(description = "创建时间")
    private java.util.Date createTime;
    /**
     * 更新人
     */
    @ExcelProperty("更新人")
    @Schema(description = "更新人")
    private java.lang.String updateBy;
    /**
     * 更新时间
     */
    @ExcelProperty("更新时间")
    @Schema(description = "更新时间")
    private java.util.Date updateTime;
}
